home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / tomlanvec.lha / Thomas-landspurg-source / sources.doc < prev   
Text File  |  1990-09-26  |  3KB  |  103 lines

  1.     ; DOC FOR THE SOURCECODE
  2.  
  3.  
  4.  
  5. 1) What is this source
  6. ----------------------
  7.  
  8.     You can have now the source that a lot of you dreamed to have (sorry
  9. for my very bad english). This is the source of a simple 3d
  10. programm. You can draw a little wire frame object in real time, and move it.
  11. You can include this in your own demos.
  12.  
  13. 2) How to assemble and use it?
  14. ------------------------------
  15.  
  16.  
  17.     There is two version,one for the great Devpack,and one for the lame
  18. Seka.
  19.  
  20. - IF YOU HAVE SEKA  ( -> try devpack2)
  21.  
  22.  With seka,you have to do this:
  23.     load the file:    r3d_source_seka<return>
  24.     assemble:    a<RETURN><RETURN>
  25.     load the data:    ri<RETURN>
  26.             df0:datasin<RETURN>
  27.             datasin<RETURN>
  28.     and run the pg:    j<RETURN>
  29.  
  30. - IF YOU HAVE DEVPACK (good boy)
  31.  
  32.     With Devpack,just assemble and run, but if you have devpack,you know
  33. how to use it (file 3d_source.s).
  34.     The file DATASIN contain a sinus table (with a bad precision,I
  35. know!)
  36.  
  37. -Move the object:
  38.  
  39.     Now you see a 3d object. You can move it by pressing the arrow keys,
  40. and the keys 0 and '.' .You can stop the object by pressing ESC.
  41.     You can change the object by pressing F1 or F2
  42.  
  43. 3) How can I put my own objects?(take a look at the sourcecode!)
  44. --------------------------------
  45.  
  46.     First how the object are coded (quick explain)
  47.  
  48.     An object is made of lines,each line is draw beetwen two points.
  49. You have two arrays per object (you can have more than one object)
  50. One array with the 3d coords(x,y,z) of each point.
  51. One array with the number of the point wich have to be joined by a line.
  52. Each object have his own structure wich contain:
  53.     - the number of points of the object
  54.     - the number of lines
  55.     - the speeds of rotation
  56.     - the angles of the object
  57.     - the pos (x,y,z) of the object
  58.     - the speed (speedx,speedy,speedz) of the object
  59.     - a pointer to the array of point(see below)
  60.     - a pointer to the array wich define the line (see below)
  61.  
  62.     Look at the object2, it's a cube.
  63.  
  64.     After,you have to put a pointer to this structure
  65. in the TABOBJ array (like OBJET1 and OBJET2).
  66.  
  67. 4) Important:
  68. -------------
  69.  
  70.     You can use this source,BUT:
  71.  
  72.     - don't use it to do lames demos
  73.     - put in your scrolltext (or somewhere else) from whom you
  74.     get this source(from me!).
  75.  
  76. 5) Some more infos:
  77. -------------------
  78.  
  79.      I put this source in public domain so a lot of debutant coders
  80. can start easily to program.But I've removed a lot of thing,like the line
  81. clipping. And I've not used all the posibilities of the assemblers,like
  82. conditional assembly,macro or the use of structures (for devpack) for
  83. more clarity.
  84.     There just one flag, taks_stop ,at the beginning of the file,if you
  85. want to choose beetwen singletask or multi-tasks( but no intuition screens,
  86. because the use of double -buffering,wich is not easy with intuition( or
  87. a little bit too slow)).
  88.  
  89.     Sorry,but for the moment the comments are only in French.
  90.  
  91.     The pg use a matrice to compute the 3d pos of each point. This
  92. take only 9 multiplication per point,instead of 12 mulitplication if
  93. you use the common method (with three axis of rotation).
  94.     There is not a lot of optimisation, because it's an example!
  95.  
  96. 6) Where can you send bug reports
  97. ---------------------------------
  98.     To
  99.         Thomas    LANDSPURG
  100.         9,rue baldung-grien
  101.         67000    STRASBOURG
  102.         FRANCE
  103.